import { IParam } from '../../common';
import { IMDViewAbility } from '../ability';
import { IMDViewStore } from '../store/i-md-view-store';
import { IDEViewController } from './i-de-view-controller';

/**
 * 多数据视图控制器接口
 *
 * @export
 * @interface IMDViewController
 * @extends {IDEViewController<S, A>}
 * @template S
 * @template A
 */
export interface IMDViewController<
	S extends IMDViewStore,
	A extends IMDViewAbility
> extends IDEViewController<S, A> {
	/**
	 * 处理快速分组值变化
	 *
	 * @param {IParam} item
	 * @memberof IMDViewController
	 */
	handleQuickGroupValueChange(item: IParam): void;

	/**
	 * 切换过滤器
	 *
	 * @memberof IMDViewController
	 */
	toggleFilter(): void;

	/**
	 * 搜索
	 *
	 * @param {string} searchValue
	 * @memberof IMDViewController
	 */
	search(searchValue: string): void;
}
